Techniques for collecting, managing, and providing real-time or near real-time relevant information have been enhanced through the use of the Internet and online research and information collection tools. One such set of tools is known as web analytics. Web analytics focuses on a company's own website for collection of online information, particularly traffic data. Web analytics are limited in that they only consider a subset of the relevant online universe, specifically the behavior of users of a given website.
Other analytics tools try to learn and predict the exposure and reach of advertisements displayed on web-sites including the social media websites. These tools gather statistics related to the reach and exposure of the advertisements. The statistics may include the number of impressions, URLs of web-pages displaying the advertisements, geographical locations of users that watched the advertisements, click-through rate of advertisements, the period of time that each viewer watched the advertisements, and so on.
Currently, every ad-serving company as well as each social media website independently gathers its own statistics and analytics with regard to the exposure and reach of advertisements. However, campaign managers who like to have better understanding about the reach and whether their budget was well spent have limited tools by which to do so. As a result, campaign managers cannot efficiently analyze and understand the performance of an advertisement campaign.
Specifically, the information gathered by a single ad-serving company or a social website per campaign may include trillions of records. When observed among different companies serving the same campaigns, these trillions of records become several times more voluminous, thereby making it almost impossible for campaign managers to analyze the gathered information using existing tools. Further, in addition to the volume of the gathered information, each ad-serving company presents the gathered statistics using a different format. This further increases the complexity of the campaign analysis.
It should be noted that failing to efficiently and accurately analyze the performance of an advertising campaign results in revenue losses for businesses, as their advertising budget is not being efficiently spent. Advertising campaigns can cost millions of dollars, and such costs may be better spent on some advertisement hosts than on others. Many businesses implement analysis of multidimensional data to compare the effectiveness of advertising campaigns among various advertising hosts and/or under different advertising conditions.
In the related art, online analytical processing (OLAP) engines supporting only processing of static datasets. An OLAP engine typically permits users to analyze multidimensional data from various perspectives. Such perspectives are based on consideration of one or more dimensions such as, for example, customers, products, and periods of time. One form of the OLAP is multidimensional OLAP (MOLAP), which involves storing multidimensional data in an optimized multidimensional array storage. This optimized multidimensional array storage requires pre-computation and storage of information in a static data model. In contrast to OLAP, relational OLAP (ROLAP) engines support semantic datasets. That is, the ROLAP engines access a relational database and generate structured query language (SQL) queries in response to a user query.
Existing ROLAP engines typically require submission of queries in a precise format to a single data source (database) to properly generate the desired performance analysis. This precision requirement makes ROLAP engines almost unfeasible for use in retrieving data from ever-changing data models. Specifically, ROLAP engines would require submitting appropriate queries to manipulate data and/or to obtain data. As such, specific queries should be written based on the data model. Therefore, ROLAP engines largely require database administrators to write new queries, to interact with the data, and to maintain the data models. In addition, the lack of direct interactivity with a ROLAP engine does not enable business analysts to gather important insights about the data.
Further, existing OLAP and ROLAP solutions tend to struggle when dealing with data updates. As data models increasingly become ever-changing (that is, iteratively updated within increasingly narrow periods of time), providing multidimensional data analytics that are consistent with frequently changing data becomes increasingly significant. Another limitation of OLAP and ROLAP engines is that they are limited to accessing only one data source (database). Therefore, such engines are optimized and in most cases can be utilized for the retrieval and/or manipulation of big data from a single source, but cannot be effectively utilized for retrieval and/or manipulation of big data from multiple sources.
It would therefore be advantageous to provide a solution that would overcome the deficiencies of the prior art by providing big-data analytics that efficiently support ever-changing data models.